package com.atwisdom.star.thirdInterface.business;

import com.alibaba.fastjson.JSONObject;
import com.atwisdom.star.common.vo.ResultInfo;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.List;

/**
 * 接口数据和模型关系映射
 */
public interface InterfaceService {

    /**
     * 实体模型接口转换
     * @param jsonObject
     * @return
     */
    ResultInfo<?> addEntity(JSONObject jsonObject,HttpServletRequest httpServletRequest);

    /**
     * 实体模型接口转换
     * @param jsonObjectList
     * @return
     */
    ResultInfo<?>  addBatchEntity(List<JSONObject> jsonObjectList);

    /**
     * 更新实体模型
     * @param jsonObject
     * @return
     */
    ResultInfo<?> updateEntity(JSONObject jsonObject);

    /**
     * 更新实体模型
     * @param jsonObject
     * @return
     */
    ResultInfo<?> updateBatchEntity(List<JSONObject> jsonObject);



    /**
     * 关系模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForRelation(JSONObject jsonObject);

    /**
     * 监控模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForMonitor(JSONObject jsonObject);

    /**
     * 计划模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForPlanner(JSONObject jsonObject);

    /**
     * 流程模板接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForProcess(JSONObject jsonObject);

    /**
     * 审批流程模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForOaProcess(JSONObject jsonObject);

    /**
     * 工艺路线模板接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForRouting(JSONObject jsonObject);

    /**
     * 单线图模板接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForSimpleMap(JSONObject jsonObject);

    /**
     * 可视化模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForBi(JSONObject jsonObject);

    /**
     * 统计模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForStatistics(JSONObject jsonObject);

    /**
     * 统计模板模型接口转换
     * @param jsonObject
     * @return
     */
    JSONObject transformForStatisticsTemplate(JSONObject jsonObject);






}
